Adapting Static Single Assignment for Hardware Compilation
نویسندگان
چکیده
This paper describes methods for synthesizing the internal representation of a compiler into a hardware description language; a process often referred to as hardware compilation. We present a framework for this transformation including methods to control the path of execution and ways to deal with the data communication. We show how static single assignment (SSA) is useful to reduce the amount of data communication in the hardware. In some applications, SSA reduces the data communication by 70 fold. We demonstrate that the placement of Φ-nodes by current SSA algorithms is not optimal in terms of minimizing data communication. We develop a new SSA algorithm for Φ-node placement that considers data communication. We show that our algorithm reduces the data communication for some applications as much as 20% as compared to the best-known SSA algorithm – the pruned algorithm.
منابع مشابه
Static Single Information Form for Abstract Compilation
In previous work we have shown that more precise type analysis can be achieved by exploiting union types and static single assignment (SSA) intermediate representation (IR) of code. In this paper we exploit static single information (SSI), an extension of SSA proposed in literature and adopted by some compilers, to allow assignments of more precise types to variables in conditional branches. In...
متن کاملJava Compilation for Multi-threaded Architectures
This paper outlines the design of a compilation framework for applications in embedded systems programmed in Java and targeted at multi-threaded architectures. These architec-tures have multiple Thread Processing Units (TPUs) to support loop-level parallelism, where each TPU employs instruction-level parallelism, and data and control speculation techniques to improve performance. The paper desc...
متن کاملOn the Compilation of Programs into their Equivalent Constraint Representation
In this paper we introduce the basic methodology for analyzing and debugging programs. We first convert programs into their loop-free equivalents and from this into the static single assignment form. From the static single assignment form we derive a corresponding constraint satisfaction problem. The constraint representation can be directly used for debugging. From the corresponding hyper-tree...
متن کاملInteractive Incremental Hardware Synthesis for SCCharts
SCCharts [vHDM+14] is a synchronous visual language used for the modeling of embedded reactive systems. SCCharts are under development within the context of KIELER. KIELER is a research project of the real-time and embedded systems group of Kiel University. The KIELER Compiler (KiCo) provides various model-to-model transformations originating in SCCharts and uses the interactive incremental app...
متن کاملProducer-Side Platform-Independent Optimizations and Their Effects on Mobile-Code Performance
Portable mobile code is often executed by a host virtual machine using just-in-time compilation. In this context, the compilation time in the host virtual machine is critical. This compilation time would be reduced if optimizations can be performed ahead-of-time before distribution of the mobile code. Unfortunately, the portable nature of mobile code limits aheadof-time optimizations to those t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001